home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / kcl / kcl.lha / lsp / trace.c < prev    next >
C/C++ Source or Header  |  1987-06-04  |  20KB  |  959 lines

  1.  
  2. /* (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. */
  3. #include <cmpinclude.h>
  4. #include "trace.h"
  5. init_trace(start,size,data)char *start;int size;object data;
  6. {    register object *base=vs_top;register object *sup=base+VM2;vs_top=sup;vs_check;
  7.     Cstart=start;Csize=size;Cdata=data;set_VV(VV,VM1,data);
  8.     base[0]= VV[0];
  9.     (void)simple_symlispcall_no_event(VV[78],base+0,1);
  10.     VV[2]->s.s_stype=(short)stp_special;
  11.     if(VV[2]->s.s_dbind == OBJNULL){
  12.     VV[2]->s.s_dbind = VV[1];}
  13.     VV[3]->s.s_stype=(short)stp_special;
  14.     if(VV[3]->s.s_dbind == OBJNULL){
  15.     VV[3]->s.s_dbind = Cnil;}
  16.     MM(VV[79],L2,start,size,data);
  17.     MM(VV[80],L3,start,size,data);
  18.     MF(VV[81],L4,start,size,data);
  19.     MF(VV[14],L5,start,size,data);
  20.     MF(VV[82],L6,start,size,data);
  21.     VV[25]->s.s_stype=(short)stp_special;
  22.     if(VV[25]->s.s_dbind == OBJNULL){
  23.     VV[25]->s.s_dbind = VV[1];}
  24.     VV[26]->s.s_stype=(short)stp_special;
  25.     if(VV[26]->s.s_dbind == OBJNULL){
  26.     VV[26]->s.s_dbind = Cnil;}
  27.     VV[27]->s.s_stype=(short)stp_special;
  28.     if(VV[27]->s.s_dbind == OBJNULL){
  29.     VV[27]->s.s_dbind = Cnil;}
  30.     VV[28]->s.s_stype=(short)stp_special;
  31.     if(VV[28]->s.s_dbind == OBJNULL){
  32.     VV[28]->s.s_dbind = Cnil;}
  33.     VV[29]->s.s_stype=(short)stp_special;
  34.     if(VV[29]->s.s_dbind == OBJNULL){
  35.     VV[29]->s.s_dbind = Cnil;}
  36.     MF(VV[83],L7,start,size,data);
  37.     MM(VV[84],L8,start,size,data);
  38.     MM(VV[85],L9,start,size,data);
  39.     MF(VV[44],L10,start,size,data);
  40.     vs_top=vs_base=base;
  41. }
  42. /*    macro definition for TRACE    */
  43.  
  44. static L2()
  45. {    register object *base=vs_base;
  46.     register object *sup=base+VM3;
  47.     vs_reserve(VM3);
  48.     check_arg(2);
  49.     vs_top=sup;
  50.     {object V1=base[0]->c.c_cdr;
  51.     base[2]= V1;}
  52.     if((base[2])!=Cnil){
  53.     goto T11;}
  54.     base[3]= VV[3];
  55.     vs_top=(vs_base=base+3)+1;
  56.     return;
  57. T11:;
  58.     base[3]= list(2,VV[6],base[2]);
  59.     base[4]= list(3,VV[4],VV[5],base[3]);
  60.     vs_top=(vs_base=base+4)+1;
  61.     return;
  62. }
  63. /*    macro definition for UNTRACE    */
  64.  
  65. static L3()
  66. {    register object *base=vs_base;
  67.     register object *sup=base+VM4;
  68.     vs_reserve(VM4);
  69.     check_arg(2);
  70.     vs_top=sup;
  71.     {object V2=base[0]->c.c_cdr;
  72.     base[2]= V2;}
  73.     if((base[2])!=Cnil){
  74.     goto T14;}
  75.     base[3]= VV[7];
  76.     vs_top=(vs_base=base+3)+1;
  77.     return;
  78. T14:;
  79.     base[3]= list(2,VV[6],base[2]);
  80.     base[4]= list(3,VV[4],VV[8],base[3]);
  81.     vs_top=(vs_base=base+4)+1;
  82.     return;
  83. }
  84. /*    function definition for TRACE-ONE    */
  85.  
  86. static L4()
  87. {    register object *base=vs_base;
  88.     register object *sup=base+VM5;
  89.     vs_reserve(VM5);
  90.     check_arg(1);
  91.     vs_top=sup;
  92. TTL:;
  93.     base[1]= Cnil;
  94.     base[2]= base[0];
  95.     vs_top=(vs_base=base+2)+1;
  96.     Lfboundp();
  97.     vs_top=sup;
  98.     if((vs_base[0])!=Cnil){
  99.     goto T16;}
  100.     base[2]= symbol_value(VV[9]);
  101.     base[3]= VV[10];
  102.     base[4]= base[0];
  103.     vs_top=(vs_base=base+2)+3;
  104.     Lformat();
  105.     vs_top=sup;
  106.     base[2]= Cnil;
  107.     vs_top=(vs_base=base+2)+1;
  108.     return;
  109. T16:;
  110.     base[2]= base[0];
  111.     vs_top=(vs_base=base+2)+1;
  112.     Lspecial_form_p();
  113.     vs_top=sup;
  114.     if((vs_base[0])==Cnil){
  115.     goto T24;}
  116.     base[2]= symbol_value(VV[9]);
  117.     base[3]= VV[11];
  118.     base[4]= base[0];
  119.     vs_top=(vs_base=base+2)+3;
  120.     Lformat();
  121.     vs_top=sup;
  122.     base[2]= Cnil;
  123.     vs_top=(vs_base=base+2)+1;
  124.     return;
  125. T24:;
  126.     base[2]= base[0];
  127.     vs_top=(vs_base=base+2)+1;
  128.     Lmacro_function();
  129.     vs_top=sup;
  130.     if((vs_base[0])==Cnil){
  131.     goto T32;}
  132.     base[2]= symbol_value(VV[9]);
  133.     base[3]= VV[12];
  134.     base[4]= base[0];
  135.     vs_top=(vs_base=base+2)+3;
  136.     Lformat();
  137.     vs_top=sup;
  138.     base[2]= Cnil;
  139.     vs_top=(vs_base=base+2)+1;
  140.     return;
  141. T32:;
  142.     if((get(base[0],VV[13],Cnil))==Cnil){
  143.     goto T40;}
  144.     base[3]= base[0];
  145.     vs_top=(vs_base=base+3)+1;
  146.     Lsymbol_function();
  147.     vs_top=sup;
  148.     base[2]= vs_base[0];
  149.     if(!(type_of(base[2])==t_cons)){
  150.     goto T44;}
  151.     base[3]= base[0];
  152.     vs_top=(vs_base=base+3)+1;
  153.     Lsymbol_function();
  154.     vs_top=sup;
  155.     base[2]= vs_base[0];
  156.     if(!(type_of(cadddr(base[2]))==t_cons)){
  157.     goto T44;}
  158.     base[3]= base[0];
  159.     vs_top=(vs_base=base+3)+1;
  160.     Lsymbol_function();
  161.     vs_top=sup;
  162.     base[2]= vs_base[0];
  163.     if(!(car(cadddr(base[2]))==VV[14])){
  164.     goto T44;}
  165.     base[2]= symbol_value(VV[9]);
  166.     base[3]= VV[15];
  167.     base[4]= base[0];
  168.     vs_top=(vs_base=base+2)+3;
  169.     Lformat();
  170.     vs_top=sup;
  171.     base[2]= Cnil;
  172.     vs_top=(vs_base=base+2)+1;
  173.     return;
  174. T44:;
  175.     base[2]= base[0];
  176.     vs_top=(vs_base=base+2)+1;
  177.     L6();
  178.     vs_top=sup;
  179. T40:;
  180.     vs_base=vs_top;
  181.     Lgensym();
  182.     vs_top=sup;
  183.     base[1]= vs_base[0];
  184.     base[2]= base[1];
  185.     base[4]= base[0];
  186.     vs_top=(vs_base=base+4)+1;
  187.     Lsymbol_function();
  188.     vs_top=sup;
  189.     base[3]= vs_base[0];
  190.     vs_top=(vs_base=base+2)+2;
  191.     siLfset();
  192.     vs_top=sup;
  193.     (void)(putprop(base[0],base[1],VV[13]));
  194.     base[3]= list(2,VV[6],base[0]);
  195.     base[4]= list(2,VV[6],base[1]);
  196.     base[5]= list(4,VV[14],base[3],base[4],VV[18]);
  197.     base[2]= list(4,VV[16],base[0],VV[17],base[5]);
  198.     vs_top=(vs_base=base+2)+1;
  199.     Leval();
  200.     vs_top=sup;
  201.     setq(VV[3],make_cons(base[0],symbol_value(VV[3])));
  202.     base[2]= make_cons(base[0],Cnil);
  203.     vs_top=(vs_base=base+2)+1;
  204.     return;
  205. }
  206. /*    function definition for TRACE-CALL    */
  207.  
  208. static L5()
  209. {    register object *base=vs_base;
  210.     register object *sup=base+VM6;
  211.     vs_reserve(VM6);
  212.     bds_check;
  213.     check_arg(3);
  214.     vs_top=sup;
  215. TTL:;
  216.     bds_bind(VV[2],symbol_value(VV[2]));
  217.     base[4]= Cnil;
  218.     base[5]= Cnil;
  219.     (VV[2]->s.s_dbind)= one_plus((VV[2]->s.s_dbind));
  220.     base[6]= number_times((VV[2]->s.s_dbind),VV[19]);
  221.     base[5]= (number_compare(base[6],VV[20])<=0?base[6]:VV[20]);
  222.     base[6]= symbol_value(VV[9]);
  223.     vs_top=(vs_base=base+6)+1;
  224.     Lfresh_line();
  225.     vs_top=sup;
  226.     base[6]= symbol_value(VV[9]);
  227.     base[7]= VV[21];
  228.     base[8]= base[5];
  229.     base[9]= (VV[2]->s.s_dbind);
  230.     base[10]= make_cons(base[0],base[2]);
  231.     vs_top=(vs_base=base+6)+5;
  232.     Lformat();
  233.     vs_top=sup;
  234.     base[6]= base[1];
  235.     {object V3;
  236.     V3= base[2];
  237.      vs_top=base+7;
  238.      while(!endp(V3))
  239.      {vs_push(car(V3));V3=cdr(V3);}
  240.     vs_base=base+7;}
  241.     super_funcall_no_event(base[6]);
  242.     Llist();
  243.     vs_top=sup;
  244.     base[4]= vs_base[0];
  245.     base[6]= symbol_value(VV[9]);
  246.     vs_top=(vs_base=base+6)+1;
  247.     Lfresh_line();
  248.     vs_top=sup;
  249.     base[6]= symbol_value(VV[9]);
  250.     base[7]= VV[22];
  251.     base[8]= base[5];
  252.     base[9]= (VV[2]->s.s_dbind);
  253.     base[10]= make_cons(base[0],base[4]);
  254.     vs_top=(vs_base=base+6)+5;
  255.     Lformat();
  256.     vs_top=sup;
  257.     (VV[2]->s.s_dbind)= one_minus((VV[2]->s.s_dbind));
  258.     base[6]= base[4];
  259.     vs_top=(vs_base=base+6)+1;
  260.     Lvalues_list();
  261.     bds_unwind1;
  262.     return;
  263. }
  264. /*    function definition for UNTRACE-ONE    */
  265.  
  266. static L6()
  267. {    register object *base=vs_base;
  268.     register object *sup=base+VM7;
  269.     vs_reserve(VM7);
  270.     check_arg(1);
  271.     vs_top=sup;
  272. TTL:;
  273.     if((get(base[0],VV[13],Cnil))==Cnil){
  274.     goto T100;}
  275.     base[2]= base[0];
  276.     vs_top=(vs_base=base+2)+1;
  277.     Lsymbol_function();
  278.     vs_top=sup;
  279.     base[1]= vs_base[0];
  280.     if(!(type_of(base[1])==t_cons)){
  281.     goto T104;}
  282.     base[2]= base[0];
  283.     vs_top=(vs_base=base+2)+1;
  284.     Lsymbol_function();
  285.     vs_top=sup;
  286.     base[1]= vs_base[0];
  287.     if(!(type_of(cadddr(base[1]))==t_cons)){
  288.     goto T104;}
  289.     base[2]= base[0];
  290.     vs_top=(vs_base=base+2)+1;
  291.     Lsymbol_function();
  292.     vs_top=sup;
  293.     base[1]= vs_base[0];
  294.     if(!(car(cadddr(base[1]))==VV[14])){
  295.     goto T104;}
  296.     base[1]= base[0];
  297.     base[3]= get(base[0],VV[13],Cnil);
  298.     vs_top=(vs_base=base+3)+1;
  299.     Lsymbol_function();
  300.     vs_top=sup;
  301.     base[2]= vs_base[0];
  302.     vs_top=(vs_base=base+1)+2;
  303.     siLfset();
  304.     vs_top=sup;
  305.     goto T102;
  306. T104:;
  307.     base[1]= symbol_value(VV[9]);
  308.     base[2]= VV[23];
  309.     base[3]= base[0];
  310.     vs_top=(vs_base=base+1)+3;
  311.     Lformat();
  312.     vs_top=sup;
  313. T102:;
  314.     (void)(remprop(base[0],VV[13]));
  315.     base[1]= base[0];
  316.     base[2]= symbol_value(VV[3]);
  317.     setq(VV[3],simple_symlispcall_no_event(VV[86],base+1,2));
  318.     base[1]= make_cons(base[0],Cnil);
  319.     vs_top=(vs_base=base+1)+1;
  320.     return;
  321. T100:;
  322.     base[1]= symbol_value(VV[9]);
  323.     base[2]= VV[24];
  324.     base[3]= base[0];
  325.     vs_top=(vs_base=base+1)+3;
  326.     Lformat();
  327.     vs_top=sup;
  328.     base[1]= Cnil;
  329.     vs_top=(vs_base=base+1)+1;
  330.     return;
  331. }
  332. /*    function definition for STEP-READ-LINE    */
  333.  
  334. static L7()
  335. {    register object *base=vs_base;
  336.     register object *sup=base+VM8;
  337.     vs_reserve(VM8);
  338.     check_arg(0);
  339.     vs_top=sup;
  340. TTL:;
  341.     base[1]= symbol_value(VV[30]);
  342.     vs_top=(vs_base=base+1)+1;
  343.     Lread_char();
  344.     vs_top=sup;
  345.     base[0]= vs_base[0];
  346. T134:;
  347.     base[1]= base[0];
  348.     base[2]= VV[31];
  349.     vs_top=(vs_base=base+1)+2;
  350.     Lchar_eq();
  351.     vs_top=sup;
  352.     if((vs_base[0])!=Cnil){
  353.     goto T136;}
  354.     base[1]= base[0];
  355.     base[2]= VV[32];
  356.     vs_top=(vs_base=base+1)+2;
  357.     Lchar_eq();
  358.     vs_top=sup;
  359.     if((vs_base[0])==Cnil){
  360.     goto T135;}
  361. T136:;
  362.     base[1]= Cnil;
  363.     vs_top=(vs_base=base+1)+1;
  364.     return;
  365. T135:;
  366.     base[1]= symbol_value(VV[30]);
  367.     vs_top=(vs_base=base+1)+1;
  368.     Lread_char();
  369.     vs_top=sup;
  370.     base[0]= vs_base[0];
  371.     goto T134;
  372. }
  373. /*    macro definition for IF-ERROR    */
  374.  
  375. static L8()
  376. {    register object *base=vs_base;
  377.     register object *sup=base+VM9;
  378.     vs_reserve(VM9);
  379.     check_arg(2);
  380.     vs_top=sup;
  381.     {object V4=base[0]->c.c_cdr;
  382.     if(endp(V4))invalid_macro_call();
  383.     base[2]= (V4->c.c_car);
  384.     V4=V4->c.c_cdr;
  385.     if(endp(V4))invalid_macro_call();
  386.     base[3]= (V4->c.c_car);
  387.     V4=V4->c.c_cdr;
  388.     if(!endp(V4))invalid_macro_call();}
  389.     vs_base=vs_top;
  390.     Lgensym();
  391.     vs_top=sup;
  392.     base[4]= vs_base[0];
  393.     vs_base=vs_top;
  394.     Lgensym();
  395.     vs_top=sup;
  396.     base[5]= vs_base[0];
  397.     vs_base=vs_top;
  398.     Lgensym();
  399.     vs_top=sup;
  400.     base[6]= vs_base[0];
  401.     base[7]= list(2,base[4],base[5]);
  402.     base[8]= list(5,VV[36],base[4],base[3],base[5],Ct);
  403.     base[9]= list(4,VV[38],base[5],base[4],base[2]);
  404.     base[10]= list(3,VV[37],base[6],base[9]);
  405.     base[11]= list(3,VV[35],base[8],base[10]);
  406.     base[12]= list(3,VV[34],base[6],base[11]);
  407.     base[13]= list(3,VV[33],base[7],base[12]);
  408.     vs_top=(vs_base=base+13)+1;
  409.     return;
  410. }
  411. /*    macro definition for STEP    */
  412.  
  413. static L9()
  414. {    register object *base=vs_base;
  415.     register object *sup=base+VM10;
  416.     vs_reserve(VM10);
  417.     check_arg(2);
  418.     vs_top=sup;
  419.     {object V5=base[0]->c.c_cdr;
  420.     if(endp(V5))invalid_macro_call();
  421.     base[2]= (V5->c.c_car);
  422.     V5=V5->c.c_cdr;
  423.     if(!endp(V5))invalid_macro_call();}
  424.     base[3]= list(2,VV[6],base[2]);
  425.     base[4]= list(3,VV[44],base[3],Cnil);
  426.     base[5]= list(6,VV[39],VV[40],VV[41],VV[42],VV[43],base[4]);
  427.     vs_top=(vs_base=base+5)+1;
  428.     return;
  429. }
  430. /*    function definition for STEPPER    */
  431.  
  432. static L10()
  433. {    register object *base=vs_base;
  434.     register object *sup=base+VM11;
  435.     vs_reserve(VM11);
  436.     bds_check;
  437.     if(vs_top-vs_base<1) too_few_arguments();
  438.     if(vs_top-vs_base>2) too_many_arguments();
  439.     vs_base=vs_base+1;
  440.     if(vs_base>=vs_top){vs_top=sup;goto T152;}
  441.     vs_top=sup;
  442.     goto T153;
  443. T152:;
  444.     base[1]= Cnil;
  445. T153:;
  446.     base[2]= Cnil;
  447.     bds_bind(VV[25],symbol_value(VV[25]));
  448.     base[4]= Cnil;
  449.     if(!(symbol_value(VV[26])==Ct)){
  450.     goto T155;}
  451.     base[5]= base[0];
  452.     base[6]= Cnil;
  453.     base[7]= Cnil;
  454.     base[8]= base[1];
  455.     vs_top=(vs_base=base+5)+4;
  456.     Levalhook();
  457.     bds_unwind1;
  458.     return;
  459. T155:;
  460.     if(!(type_of(symbol_value(VV[26]))==t_fixnum||
  461. type_of(symbol_value(VV[26]))==t_bignum||
  462. type_of(symbol_value(VV[26]))==t_ratio||
  463. type_of(symbol_value(VV[26]))==t_shortfloat||
  464. type_of(symbol_value(VV[26]))==t_longfloat||
  465. type_of(symbol_value(VV[26]))==t_complex)){
  466.     goto T162;}
  467.     base[5]= one_plus((VV[25]->s.s_dbind));
  468.     if(!(number_compare(base[5],symbol_value(VV[26]))>=0)){
  469.     goto T166;}
  470.     base[5]= base[0];
  471.     base[6]= Cnil;
  472.     base[7]= Cnil;
  473.     base[8]= base[1];
  474.     vs_top=(vs_base=base+5)+4;
  475.     Levalhook();
  476.     bds_unwind1;
  477.     return;
  478. T166:;
  479.     setq(VV[26],Cnil);
  480. T162:;
  481.     if((symbol_value(VV[27]))==Cnil){
  482.     goto T173;}
  483.     if(!(type_of(base[0])==t_cons)){
  484.     goto T177;}
  485.     if(!(car(base[0])==symbol_value(VV[27]))){
  486.     goto T177;}
  487.     bds_bind(VV[27],Cnil);
  488.     base[6]= base[0];
  489.     base[7]= base[1];
  490.     vs_top=(vs_base=base+6)+2;
  491.     L10();
  492.     bds_unwind1;
  493.     bds_unwind1;
  494.     return;
  495. T177:;
  496.     base[5]= base[0];
  497.     base[6]= symbol_function(VV[44]);
  498.     base[7]= Cnil;
  499.     base[8]= base[1];
  500.     vs_top=(vs_base=base+5)+4;
  501.     Levalhook();
  502.     bds_unwind1;
  503.     return;
  504. T173:;
  505.     (VV[25]->s.s_dbind)= one_plus((VV[25]->s.s_dbind));
  506.     base[5]= number_times((VV[25]->s.s_dbind),VV[19]);
  507.     base[4]= (number_compare(base[5],VV[20])<=0?base[5]:VV[20]);
  508. T193:;
  509.     base[5]= symbol_value(VV[30]);
  510.     base[6]= VV[45];
  511.     base[7]= base[4];
  512.     base[8]= base[0];
  513.     vs_top=(vs_base=base+5)+4;
  514.     Lformat();
  515.     vs_top=sup;
  516.     base[5]= symbol_value(VV[30]);
  517.     vs_top=(vs_base=base+5)+1;
  518.     Lfinish_output();
  519.     vs_top=sup;
  520.     base[7]= symbol_value(VV[30]);
  521.     vs_top=(vs_base=base+7)+1;
  522.     Lread_char();
  523.     vs_top=sup;
  524.     base[6]= vs_base[0];
  525. T206:;
  526.     base[7]= base[6];
  527.     base[8]= VV[46];
  528.     vs_top=(vs_base=base+7)+2;
  529.     Lchar_neq();
  530.     vs_top=sup;
  531.     if((vs_base[0])==Cnil){
  532.     goto T207;}
  533.     base[7]= VV[47];
  534.     vs_top=(vs_base=base+7)+1;
  535.     Lchar_neq();
  536.     vs_top=sup;
  537.     if((vs_base[0])==Cnil){
  538.     goto T207;}
  539.     base[5]= base[6];
  540.     goto T202;
  541. T207:;
  542.     base[7]= symbol_value(VV[30]);
  543.     vs_top=(vs_base=base+7)+1;
  544.     Lread_char();
  545.     vs_top=sup;
  546.     base[6]= vs_base[0];
  547.     goto T206;
  548. T202:;
  549.     {object V6= base[5];
  550.     if(!eql(V6,VV[31])
  551.     && !eql(V6,VV[32]))goto T220;
  552.     base[6]= base[0];
  553.     base[7]= symbol_function(VV[44]);
  554.     base[8]= Cnil;
  555.     base[9]= base[1];
  556.     vs_top=(vs_base=base+6)+4;
  557.     Levalhook();
  558.     Llist();
  559.     vs_top=sup;
  560.     base[2]= vs_base[0];
  561.     goto T191;
  562. T220:;
  563.     if(!eql(V6,VV[48])
  564.     && !eql(V6,VV[49]))goto T228;
  565.     vs_base=vs_top;
  566.     L7();
  567.     vs_top=sup;
  568.     base[6]= base[0];
  569.     base[7]= symbol_function(VV[44]);
  570.     base[8]= Cnil;
  571.     base[9]= base[1];
  572.     vs_top=(vs_base=base+6)+4;
  573.     Levalhook();
  574.     Llist();
  575.     vs_top=sup;
  576.     base[2]= vs_base[0];
  577.     goto T191;
  578. T228:;
  579.     if(!eql(V6,VV[50])
  580.     && !eql(V6,VV[51]))goto T237;
  581.     vs_base=vs_top;
  582.     L7();
  583.     vs_top=sup;
  584.     base[6]= base[0];
  585.     base[7]= Cnil;
  586.     base[8]= Cnil;
  587.     base[9]= base[1];
  588.     vs_top=(vs_base=base+6)+4;
  589.     Levalhook();
  590.     Llist();
  591.     vs_top=sup;
  592.     base[2]= vs_base[0];
  593.     goto T191;
  594. T237:;
  595.     if(!eql(V6,VV[52])
  596.     && !eql(V6,VV[53]))goto T246;
  597.     vs_base=vs_top;
  598.     L7();
  599.     vs_top=sup;
  600.     base[6]= base[0];
  601.     base[7]= VV[54];
  602.     base[8]= symbol_value(VV[30]);
  603.     base[9]= VV[55];
  604.     base[10]= Ct;
  605.     base[11]= VV[56];
  606.     base[12]= Cnil;
  607.     base[13]= VV[57];
  608.     base[14]= Cnil;
  609.     vs_top=(vs_base=base+6)+9;
  610.     Lwrite();
  611.     vs_top=sup;
  612.     princ_char(10,Cnil);
  613.     goto T194;
  614. T246:;
  615.     if(!eql(V6,VV[58])
  616.     && !eql(V6,VV[59]))goto T258;
  617.     base[7]= Cnil;
  618.     base[8]= Cnil;
  619.     {object tag;frame_ptr fr;object p;bool active;
  620.     frs_push(FRS_PROTECT,Cnil);
  621.     if(nlj_active){tag=nlj_tag;fr=nlj_fr;active=TRUE;}
  622.     else{
  623.     base[11]= symbol_value(VV[30]);
  624.     base[10]= simple_symlispcall_no_event(VV[87],base+11,1);
  625.     vs_base=vs_top;
  626.     L7();
  627.     vs_top=sup;
  628.     base[7]= base[10];
  629.     base[8]= Ct;
  630.     base[10]= Ct;
  631.     vs_top=(vs_base=base+10)+1;
  632.     active=FALSE;}
  633.     base[9]=Cnil;
  634.     while(vs_base<vs_top)
  635.     {base[9]=MMcons(vs_top[-1],base[9]);vs_top--;}
  636.     vs_top=sup;
  637.     nlj_active=FALSE;frs_pop();
  638.     if((base[8])==Cnil){
  639.     goto T269;}
  640.     base[6]= base[7];
  641.     goto T259;
  642. T269:;
  643.     base[6]= Cnil;
  644.     goto T259;
  645.     vs_base=vs_top=base+10;
  646.     for(p= base[9];!endp(p);p=MMcdr(p))vs_push(MMcar(p));
  647.     if(active)unwind(fr,tag);else{
  648.     vs_top=sup;
  649.     base[6]= vs_base[0];}}
  650. T259:;
  651.     bds_bind(VV[27],base[6]);
  652.     base[7]= base[0];
  653.     base[8]= symbol_function(VV[44]);
  654.     base[9]= Cnil;
  655.     base[10]= base[1];
  656.     vs_top=(vs_base=base+7)+4;
  657.     Levalhook();
  658.     Llist();
  659.     vs_top=sup;
  660.     base[2]= vs_base[0];
  661.     bds_unwind1;
  662.     goto T191;
  663. T258:;
  664.     if(!eql(V6,VV[60])
  665.     && !eql(V6,VV[61]))goto T278;
  666.     vs_base=vs_top;
  667.     L7();
  668.     vs_top=sup;
  669.     setq(VV[26],Ct);
  670.     base[6]= base[0];
  671.     base[7]= Cnil;
  672.     base[8]= Cnil;
  673.     base[9]= base[1];
  674.     vs_top=(vs_base=base+6)+4;
  675.     Levalhook();
  676.     Llist();
  677.     vs_top=sup;
  678.     base[2]= vs_base[0];
  679.     goto T191;
  680. T278:;
  681.     if(!eql(V6,VV[62])
  682.     && !eql(V6,VV[63]))goto T289;
  683.     vs_base=vs_top;
  684.     L7();
  685.     vs_top=sup;
  686.     setq(VV[26],(VV[25]->s.s_dbind));
  687.     base[6]= base[0];
  688.     base[7]= Cnil;
  689.     base[8]= Cnil;
  690.     base[9]= base[1];
  691.     vs_top=(vs_base=base+6)+4;
  692.     Levalhook();
  693.     Llist();
  694.     vs_top=sup;
  695.     base[2]= vs_base[0];
  696.     goto T191;
  697. T289:;
  698.     if(!eql(V6,VV[64])
  699.     && !eql(V6,VV[65]))goto T300;
  700.     base[8]= Cnil;
  701.     base[9]= Cnil;
  702.     {object tag;frame_ptr fr;object p;bool active;
  703.     frs_push(FRS_PROTECT,Cnil);
  704.     if(nlj_active){tag=nlj_tag;fr=nlj_fr;active=TRUE;}
  705.     else{
  706.     base[12]= Cnil;
  707.     base[13]= Cnil;
  708.     {object tag;frame_ptr fr;object p;bool active;
  709.     frs_push(FRS_PROTECT,Cnil);
  710.     if(nlj_active){tag=nlj_tag;fr=nlj_fr;active=TRUE;}
  711.     else{
  712.     base[16]= symbol_value(VV[30]);
  713.     base[15]= simple_symlispcall_no_event(VV[87],base+16,1);
  714.     vs_base=vs_top;
  715.     L7();
  716.     vs_top=sup;
  717.     base[12]= base[15];
  718.     base[13]= Ct;
  719.     base[15]= Ct;
  720.     vs_top=(vs_base=base+15)+1;
  721.     active=FALSE;}
  722.     base[14]=Cnil;
  723.     while(vs_base<vs_top)
  724.     {base[14]=MMcons(vs_top[-1],base[14]);vs_top--;}
  725.     vs_top=sup;
  726.     nlj_active=FALSE;frs_pop();
  727.     if((base[13])==Cnil){
  728.     goto T316;}
  729.     base[11]= base[12];
  730.     goto T306;
  731. T316:;
  732.     base[11]= Cnil;
  733.     goto T306;
  734.     vs_base=vs_top=base+15;
  735.     for(p= base[14];!endp(p);p=MMcdr(p))vs_push(MMcar(p));
  736.     if(active)unwind(fr,tag);else{
  737.     vs_top=sup;
  738.     base[11]= vs_base[0];}}
  739. T306:;
  740.     base[12]= Cnil;
  741.     base[13]= Cnil;
  742.     base[14]= base[1];
  743.     vs_top=(vs_base=base+11)+4;
  744.     Levalhook();
  745.     Llist();
  746.     vs_top=sup;
  747.     base[8]= vs_base[0];
  748.     base[9]= Ct;
  749.     base[11]= Ct;
  750.     vs_top=(vs_base=base+11)+1;
  751.     active=FALSE;}
  752.     base[10]=Cnil;
  753.     while(vs_base<vs_top)
  754.     {base[10]=MMcons(vs_top[-1],base[10]);vs_top--;}
  755.     vs_top=sup;
  756.     nlj_active=FALSE;frs_pop();
  757.     if((base[9])==Cnil){
  758.     goto T324;}
  759.     base[7]= base[8];
  760.     goto T301;
  761. T324:;
  762.     base[7]= Cnil;
  763.     goto T301;
  764.     vs_base=vs_top=base+11;
  765.     for(p= base[10];!endp(p);p=MMcdr(p))vs_push(MMcar(p));
  766.     if(active)unwind(fr,tag);else{
  767.     vs_top=sup;
  768.     base[7]= vs_base[0];}}
  769. T301:;
  770.     base[8]= car(base[7]);
  771. T328:;
  772.     if(!(endp(base[7]))){
  773.     goto T329;}
  774.     goto T194;
  775. T329:;
  776.     base[9]= base[8];
  777.     base[10]= VV[54];
  778.     base[11]= symbol_value(VV[30]);
  779.     base[12]= VV[56];
  780.     base[13]= symbol_value(VV[28]);
  781.     base[14]= VV[57];
  782.     base[15]= symbol_value(VV[29]);
  783.     vs_top=(vs_base=base+9)+7;
  784.     Lwrite();
  785.     vs_top=sup;
  786.     princ_char(10,VV[30]);
  787.     base[7]= cdr(base[7]);
  788.     base[8]= car(base[7]);
  789.     goto T328;
  790. T300:;
  791.     if(!eql(V6,VV[66])
  792.     && !eql(V6,VV[67]))goto T347;
  793.     base[7]= Cnil;
  794.     base[8]= Cnil;
  795.     {object tag;frame_ptr fr;object p;bool active;
  796.     frs_push(FRS_PROTECT,Cnil);
  797.     if(nlj_active){tag=nlj_tag;fr=nlj_fr;active=TRUE;}
  798.     else{
  799.     base[11]= Cnil;
  800.     base[12]= Cnil;
  801.     {object tag;frame_ptr fr;object p;bool active;
  802.     frs_push(FRS_PROTECT,Cnil);
  803.     if(nlj_active){tag=nlj_tag;fr=nlj_fr;active=TRUE;}
  804.     else{
  805.     base[15]= symbol_value(VV[30]);
  806.     base[14]= simple_symlispcall_no_event(VV[87],base+15,1);
  807.     vs_base=vs_top;
  808.     L7();
  809.     vs_top=sup;
  810.     base[11]= base[14];
  811.     base[12]= Ct;
  812.     base[14]= Ct;
  813.     vs_top=(vs_base=base+14)+1;
  814.     active=FALSE;}
  815.     base[13]=Cnil;
  816.     while(vs_base<vs_top)
  817.     {base[13]=MMcons(vs_top[-1],base[13]);vs_top--;}
  818.     vs_top=sup;
  819.     nlj_active=FALSE;frs_pop();
  820.     if((base[12])==Cnil){
  821.     goto T364;}
  822.     base[10]= base[11];
  823.     goto T354;
  824. T364:;
  825.     base[10]= Cnil;
  826.     goto T354;
  827.     vs_base=vs_top=base+14;
  828.     for(p= base[13];!endp(p);p=MMcdr(p))vs_push(MMcar(p));
  829.     if(active)unwind(fr,tag);else{
  830.     vs_top=sup;
  831.     base[10]= vs_base[0];}}
  832. T354:;
  833.     base[11]= Cnil;
  834.     base[12]= Cnil;
  835.     base[13]= base[1];
  836.     vs_top=(vs_base=base+10)+4;
  837.     Levalhook();
  838.     Llist();
  839.     vs_top=sup;
  840.     base[7]= vs_base[0];
  841.     base[8]= Ct;
  842.     base[10]= Ct;
  843.     vs_top=(vs_base=base+10)+1;
  844.     active=FALSE;}
  845.     base[9]=Cnil;
  846.     while(vs_base<vs_top)
  847.     {base[9]=MMcons(vs_top[-1],base[9]);vs_top--;}
  848.     vs_top=sup;
  849.     nlj_active=FALSE;frs_pop();
  850.     if((base[8])==Cnil){
  851.     goto T372;}
  852.     base[2]= base[7];
  853.     goto T349;
  854. T372:;
  855.     base[2]= Cnil;
  856.     goto T349;
  857.     vs_base=vs_top=base+10;
  858.     for(p= base[9];!endp(p);p=MMcdr(p))vs_push(MMcar(p));
  859.     if(active)unwind(fr,tag);else{
  860.     vs_top=sup;
  861.     base[2]= vs_base[0];}}
  862. T349:;
  863.     goto T191;
  864. T347:;
  865.     if(!eql(V6,VV[68])
  866.     && !eql(V6,VV[69]))goto T374;
  867.     vs_base=vs_top;
  868.     L7();
  869.     vs_top=sup;
  870.     base[6]= one_plus(symbol_value(VV[71]));
  871.     base[9]= simple_symlispcall_no_event(VV[88],base+10,0);
  872.     base[7]= one_minus(base[9]);
  873.     base[8]= symbol_value(VV[71]);
  874.     bds_bind(VV[70],base[6]);
  875.     bds_bind(VV[71],base[7]);
  876.     bds_bind(VV[72],base[8]);
  877.     base[9]= simple_symlispcall_no_event(VV[89],base+9,0);
  878.     bds_unwind1;
  879.     bds_unwind1;
  880.     bds_unwind1;
  881.     goto T194;
  882. T374:;
  883.     vs_base=vs_top;
  884.     L7();
  885.     vs_top=sup;
  886.     princ_char(10,Cnil);
  887.     base[6]= symbol_value(VV[30]);
  888.     base[7]= VV[73];
  889.     vs_top=(vs_base=base+6)+2;
  890.     Lformat();
  891.     vs_top=sup;
  892.     princ_char(10,Cnil);}
  893. T194:;
  894.     goto T193;
  895. T191:;
  896.     base[6]= base[0];
  897.     vs_top=(vs_base=base+6)+1;
  898.     Lconstantp();
  899.     vs_top=sup;
  900.     if((vs_base[0])!=Cnil){
  901.     goto T387;}
  902.     if(!(type_of(base[0])==t_cons)){
  903.     goto T386;}
  904.     if(!(car(base[0])==VV[6])){
  905.     goto T386;}
  906. T387:;
  907.     base[6]= car(base[2]);
  908.     vs_top=(vs_base=base+6)+1;
  909.     bds_unwind1;
  910.     return;
  911. T386:;
  912.     if(!(endp(base[2]))){
  913.     goto T396;}
  914.     base[6]= symbol_value(VV[30]);
  915.     base[7]= VV[74];
  916.     base[8]= base[4];
  917.     vs_top=(vs_base=base+6)+3;
  918.     Lformat();
  919.     vs_top=sup;
  920.     goto T394;
  921. T396:;
  922.     base[6]= base[2];
  923.     base[7]= Ct;
  924. T402:;
  925.     if(!(endp(base[6]))){
  926.     goto T403;}
  927.     goto T394;
  928. T403:;
  929.     if((base[7])==Cnil){
  930.     goto T409;}
  931.     base[8]= symbol_value(VV[30]);
  932.     base[9]= VV[75];
  933.     base[10]= base[4];
  934.     base[11]= car(base[6]);
  935.     vs_top=(vs_base=base+8)+4;
  936.     Lformat();
  937.     vs_top=sup;
  938.     goto T407;
  939. T409:;
  940.     base[8]= symbol_value(VV[30]);
  941.     base[9]= VV[76];
  942.     base[10]= base[4];
  943.     base[11]= car(base[6]);
  944.     vs_top=(vs_base=base+8)+4;
  945.     Lformat();
  946.     vs_top=sup;
  947. T407:;
  948.     base[6]= cdr(base[6]);
  949.     base[7]= Cnil;
  950.     goto T402;
  951. T394:;
  952.     (VV[25]->s.s_dbind)= number_minus((VV[25]->s.s_dbind),VV[77]);
  953.     base[6]= base[2];
  954.     vs_top=(vs_base=base+6)+1;
  955.     Lvalues_list();
  956.     bds_unwind1;
  957.     return;
  958. }
  959.